DataSet (Набор данных) можно использовать как
резидентную реляционную базу данных, не
связанную ни с какой другой базой данных.
Теперь на примере программы DataEditing, мы
рассмотрим несколько возможностей объекта
DataSet (Набор данных), связанных с добавлением
данных и отношений непосредственно в набор
данных, без обращения к какой бы то ни было
внешней базе данных.
Прежде всего создадим новый объект DataSet (Набор
данных) и включим проверку ограничений.
Затем добавим в DataSet (Набор данных) четыре
объекта DataTable (Таблица данных): Books (Книги),
Categories (Категории), Authors (Авторы) и BookCate-gories (Категории
DataSet *ds = new DataSet; // новый Набор данных ds->EnforceConstraints
= true; // истина
// Добавить (Add) таблицы (tables) к Набору данных (DataSet) DataTable
*categories =
ds->Tables->Add("Categories");
// Таблицы-> Добавить ("Категории"); DataTable *bookcategories
=
ds->Tables->Add("BookCategories");
// Таблицы-> Добавить ("BookCategories"); DataTable
*authors = ds->Tables->Add("Authors");
// Таблицы-> Добавить ("Авторы"); DataTable *books
= ds->Tables->Add("Books"); // Таблицы-> Добавить ("Книги");
Объект DataTable (Таблица данных) содержит коллекцию объектов DataColumn, каждый из которых представляет собой столбец таблицы. Теперь добавим столбцы в определения таблиц.
// определить типы для определений столбцов
Type *stringType = Туре::GetType("System.String");
// Система.Строка
Type *intType = Туре::GetType("System.Int32");
// Определить столбцы для таблиц
// Добавить столбец (column) в таблицу Category (Категория) DataColumn
*categoryname =
categories->Columns->Add( // категории-> Столбцы->
Добавить "Category",stringType); // Категория
// Добавить (Add) столбцы (columns) для таблицы BookCategories
DataColumn *cn = bookcategories->Columns->Add( // Столбцы-> Добавить
"CategoryName", stringType);
DataColumn *loc = bookcategories->Columns->Add( // Столбцы->
Добавить
"LibraryofCongressNumber", stringType);
// Добавить (Add) столбцы (columns) для таблицы Authors (Авторы)
DataColumn *auid = authors->Columns->Add( // авторы-> Столбцы->
Добавить
"AuthorId", intType); authors->Columns->Add( //
авторы-> Столбцы-> Добавить
"AuthorLastName", stringType); authors->Columns->Add(
// авторы-> Столбцы-> Добавить
"AuthorFirstName", stringType);
// Добавить (Add) столбцы (columns) для таблицы Books (Книги)
DataColumn *ISBN = books->Columns->Add( // книги-> Столбцы-> Добавить
"ISBN", stringType);
DataColumn *booksauid = books->Columns->Add( // книги->
Столбцы-> Добавить
"AuthorId", intType);
books->Columns->Add("Title", stringType); // книги->
Столбцы-> Добавить ("Название", stringType); DataColumn *bloc =
books->Columns->Add( // книги-> Столбцы-> Добавить
"LibraryofCongressNumber", stringType);